package Veiculo;
import java.util.List;
import Util.Conexao;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

public class VeiculoDao {

	Conexao cx = new Conexao();
	
	public void AddVeiculo(Veiculo vei)
	{
		cx.OpenConection();
		cx.getSessao().save(vei);
		cx.CloseConection();
	}
	public void RemoveVeiculo(Veiculo vei)
	{
		cx.OpenConection();
		cx.getSessao().delete(vei);
		cx.CloseConection();
	}
	public void UpdateVeiculo (Veiculo vei)
	{
		cx.OpenConection();
		cx.getSessao().merge(vei);
		cx.CloseConection();
	}
	public List <Veiculo> ListarVeiculo()
	{
		Criteria listVeiculo = cx.getTransacao().createCriteria(Veiculo.class);
		listVeiculo.addOrder(Order.asc("dscVeiculo"));
		return listVeiculo.list();
	}
	public List <Veiculo> ListarVeiculo(String placa)
	{
		Criteria listVeiculo = cx.getTransacao().createCriteria(Veiculo.class);
		listVeiculo.add(Restrictions.like("placa", "%" + placa + "%"));
		listVeiculo.addOrder(Order.asc("dscVeiculo"));
		return listVeiculo.list();
	}
	public Veiculo listarVeiculoCOD (int cod)
	{
		Criteria listVeiculo = cx.getTransacao().createCriteria(Veiculo.class);
		listVeiculo.add(Restrictions.eq("codVeiculo", cod));
		return (Veiculo) listVeiculo.uniqueResult();
				
	}
}
